/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/* 
 * File:   Animal_pro.h
 * Author: dou
 *
 * Created on 2016年2月20日, 上午8:54
 */

#ifndef __ANIMAL_PRO_H__
#define __ANIMAL_PRO_H__

#ifdef __cplusplus
extern "C" {
#endif
    
    
#include "Animal.h"
#include "../../ooc/inc/Object_pro.h"

    OOC_PUB_BLOCK_DEF(ANIMAL_PKG, Animal);
    
    
    OOC_CLASS_PRO_DEF_(ANIMAL_PKG, Animal){
        OOC_PRO_EXTENDS(OBJECT_PKG, Object);
        OOC_override void (*finalize)(OOC_PEN(ANIMAL_PKG, Animal)* cthis); //需在每个类中去重载，，以自定制其资源释放过程
    };
    

    
    OOC_PEN(ANIMAL_PKG, Animal)* OOC_CTOR_NAME_P(ANIMAL_PKG, Animal)(void);
    OOC_PEN(ANIMAL_PKG, Animal)* OOC_ONAME(OOC_CTOR_NAME_P(ANIMAL_PKG, Animal), a)(const char* name, int age);

#ifdef __cplusplus
}
#endif

#endif /* ANIMAL_PRO_H */

